package com.yeqing.niodemo;

import java.nio.ByteBuffer;

public class SliceDemo {

    public static void main(String[] args) {
        // 创建一个缓冲区
        ByteBuffer buffer = ByteBuffer.allocate(10);
        // 给buffer赋值
        for (int i = 0; i < buffer.capacity(); i++) {
            buffer.put(i, (byte) i);
        }
        // 创建一个slice缓冲区
        buffer.position(3);
        buffer.limit(7);
        ByteBuffer slice = buffer.slice();

        // 给slice赋值
        for (int i = 0; i < slice.capacity(); i++) {
            byte b = slice.get(i);
            b *= 11;
            slice.put(i, b);
        }

        // 重置buffer的值
        buffer.position(0);
        buffer.limit(buffer.capacity());
        while (buffer.hasRemaining()) {
            System.out.println(buffer.get());
        }
    }
}
